"""
定义一个请求钩子： 在请求进来的之前得到request中携带token。开始验证token
"""

from flask import g, request
from comment.utils.tokens_pyjwt import verify_tokens


def jwt_request_auth():
    """
    从request中获取token。并且验证token。验证成功之后把用户ID保持到g
    :return:
    """
    g.user_id = None  # 定义一个变量
    # 前端代码是把token携带在请求头中
    token = request.headers.get('token')

    if token is not None:
        result = verify_tokens(token)
        if 'id' in result: # 只要返回的字典中包含ID，验证成功。
            g.user_id = result['id']